/*********************************** (C) COPYRIGHT ******************************
 * address: https://gitee.com/liuniansihuo/multitasks-os
 *
 * Change Logs:
 * Date			Author      	Notes
 * 2019-07-23	LiuHuo			first version
 *
*******************************************************************************/
#include "work_base.h"


/*
注意：该work为sys任务中执行的，
*/



WORK_QUEUE_BUFF(work_queue_buff,16);
static struct WorkQueue_s * pWork_Queue = (struct WorkQueue_s *)(work_queue_buff);


/*
* function：默认添加工作队列队尾
* param:
	function：函数指针
	data: 函数的参数，可以是任何类型，强制转换即可
* return :
*/
void work_add_tail(void (*function)(unsigned int data),unsigned int data)
{
	work_base_add_tail(pWork_Queue,function,data);
}
/*
* function：删除指定的工作任务
* param:
	function：函数指针
	data: 函数的参数，可以是任何类型，强制转换即可
* return :
*/
void work_del(void (*function)(unsigned int data), unsigned int data)
{
	work_base_del(pWork_Queue,function,data);
}
/*
* function：工作任务执行，在主循环中执行
* param:
* return :
*/
void work_process(void)
{
	unsigned int i=0;

	for(i=0; i<pWork_Queue->cnt; i++)
	{
		if(pWork_Queue->func[i].function)
			pWork_Queue->func[i].function(pWork_Queue->func[i].data);
	}
}

